# 6: 国土空间规划单元
import streamlit as st
from __init__ import lineinput
from common_components import button_group
def page_6():
    st.subheader("6: 国土空间规划单元")
    # 头部信息（默认折叠）
    with st.expander("基本信息（点击展开）", expanded=False):
        st.markdown("""
        ### 一、业务指导处室  
        国土空间规划局

        ### 二、审查标准  
        1. 符合国土空间规划。
        2. 项目涉及生态保护红线的，应符合《自然资源部生态环境部国家林业和草原局关于加强生态保护红线管理的通知(试行)》(自然资发(2022)142号)有关要求，并取得省政府出具的认定意见或不可避让论证意见。
        """)
    
    # 使用侧边栏中设置的用地类型
    land_type = st.session_state.land_type
    
    # 设置默认变量缓存
    defaults = {
        '用地类型': land_type,
        # 单独选址相关默认值
        '选址情况类型': '1',  # 1:完全在规划范围外, 2:部分在规划范围外
        '国土空间规划审查机关': 'XX省自然资源厅',
        '市县国土空间总体规划名称': 'XX市国土空间总体规划',
        # 自然保护区相关默认值
        '自然保护区情况': '否',
        '穿越保护区情况': '实验区',  # 实验区:不申请用地, '':申请用地
        '自然保护区名称': 'XX自然保护区',
        '自然保护区用地面积': '0.0000',
        # 生态保护红线相关默认值
        '生态保护红线情况': '否',
        '允许活动类型': '穿越跨越',  # 穿越跨越:不申请用地, '':申请用地
        '生态保护红线面积': '0.0000',
        # 批次用地相关默认值
        '审查机关': 'XX省自然资源厅',
        '位于保护区': '否',
        '保护区名称': 'XX保护区',
        '保护区面积': '0.0000',
        '主管部门': 'XX主管部门',
        '保护区批复文号': 'XX批复[2025]XX号',
        # 用途列表默认值（为简化实现，使用单个字符串表示）
        '用途列表': '居住用地0.0000公顷、商业用地0.0000公顷'
    }
    
    # 根据用户选择生成相应的模板内容
    fixed_template = '[符合规划情况]\n'
    
    if land_type == '单独选址':
        # 单独选址模式
        fixed_template += '''选址情况：{{ 选址情况类型 === '1' ? '完全在规划范围外' : '部分在规划范围外' }}\n'''
        
        if defaults['选址情况类型'] == '1':
            fixed_template += '''项目位于国土空间规划确定的城市和村庄、集镇建设用地范围外'''
            if defaults['国土空间规划审查机关']:
                fixed_template += '''【或：项目用地位于{{ 国土空间规划审查机关 }}审查通过的国土空间规划确定的城市和村庄、集镇建设用地范围外】'''
            fixed_template += '''，属单独选址建设用地项目。\n'''
        else:
            fixed_template += '''项目用地部分位于国土空间规划确定的城市和村庄、集镇建设用地范围外，部分位于城村建设用地范围内'''
            if defaults['国土空间规划审查机关']:
                fixed_template += '''【或：项目用地部分位于{{ 国土空间规划审查机关 }}审查通过的国土空间规划确定的城市和村庄、集镇建设用地范围外，部分位于城镇村建设用地范围内】'''
            fixed_template += '''，按单独选址建设项目用地报批。\n'''
        
        fixed_template += '''\n项目用地已纳入经批准的《{{ 市县国土空间总体规划名称 }}（2021-2035年）》'''
        if defaults['国土空间规划审查机关']:
            fixed_template += '''【或：{{ 国土空间规划审查机关 }}审查通过的《{{ 市县国土空间总体规划名称 }}（2021-2035年）》，有关部门和单位对项目用地无颠覆性意见】'''
        fixed_template += '''：\n'''
        
        # 自然保护区情况
        fixed_template += '''\n涉及自然保护区：{{ 自然保护区情况 }}\n'''
        
        if defaults['自然保护区情况'] == '否':
            fixed_template += '''不位于各级自然保护区\n'''
        else:
            fixed_template += '''穿越/跨越保护区：{{ 穿越保护区情况 }}\n'''
            if defaults['穿越保护区情况']:
                fixed_template += '''该项目穿越/跨越自然保护区实验区，已经国家或省级林业和草原主管部门同意；在自然保护区范围内不申请用地。\n'''
            else:
                fixed_template += '''该项目用地/部分用地位于{{ 自然保护区名称 }}实验区范围内，用地面积{{ 自然保护区用地面积 }}公顷，均位于国家或省级林业和草原主管部门同意的用地范围内。\n'''
        
        # 生态保护红线情况
        fixed_template += '''\n涉及生态保护红线：{{ 生态保护红线情况 }}\n'''
        
        if defaults['生态保护红线情况'] == '否':
            fixed_template += '''不位于生态保护红线范围内\n'''
        else:
            fixed_template += '''穿越/跨越生态保护红线：{{ 允许活动类型 }}\n'''
            if defaults['允许活动类型'] == '穿越跨越':
                fixed_template += '''项目穿越/跨越生态保护红线，在生态保护红线范围内不申请用地。\n'''
            else:
                fixed_template += '''项目用地涉及生态保护红线，符合生态保护红线内自然保护地核心保护区外、允许有限人为活动中的{{ 允许活动类型 }}类型或重大项目占用类型，已出具符合生态保护红线内允许有限人为活动认定意见或不可避让生态保护红线的论证意见；涉及生态保护红线面积{{ 生态保护红线面积 }}公顷，均位于省人民政府出具的认定意见或论证意见范围内。\n'''
    else:
        # 批次用地模式
        fixed_template += '''该批次用地符合《{{ 市县国土空间总体规划名称 }}国土空间总体规划（2021-2035年）》'''
        if defaults['审查机关']:
            fixed_template += '''【或：{{ 审查机关 }}审查通过的《{{ 市县国土空间总体规划名称 }}国土空间总体规划（2021-2035年）》，有关部门和单位对项目用地无颠覆性意见】'''
        fixed_template += '''，位于国土空间规划确定的城镇建设用地范围内。不涉及生态保护红线，未突破城镇开发边界分阶段控制总量。\n'''
        
        # 申请土地用途
        fixed_template += '''\n申请土地用途为：{{ 用途列表 }}\n'''
        
        # 保护区情况
        fixed_template += '''\n位于保护区：{{ 位于保护区 }}\n'''
        if defaults['位于保护区'] == '否':
            fixed_template += '''该批次用地均不位于各级保护区\n'''
        else:
            fixed_template += '''该批次用地位于{{ 保护区名称 }}保护区，涉及{{ 保护区面积 }}公顷，已经{{ 主管部门 }}同意（批准文号：{{ 保护区批复文号 }}）\n'''
    
    # 确保session_state中存在default_values字典
    if 'default_values' not in st.session_state:
        st.session_state.default_values = {}
    
    # 更新默认值到session_state
    for k, v in defaults.items():
        st.session_state.default_values.setdefault(k, v)

    # 调用组件，传递模板和默认值字典
    component_result = lineinput(
        fixed_template, 
        default_values=st.session_state.default_values.copy(),
        key="page_6_" + land_type
    )
    return component_result